/*
 * This is the interface, template for define new StrategyFrctory.
 * Users can define oprimized StrategyFactory for each Service(Component) by using this.
 * (Pattern) Abstract Factory
 */
package sdc.strategyfactory;

import sdc.strategy.allocation.AllocateStrategy;
import sdc.strategy.construction.ConstructStrategy;

/**
 *
 * @author yokoe
 */
public interface Strategy
{

	public abstract int getLLD();

	public abstract double getOmega();

	public abstract int getPrimaryComponentNum();

	public abstract int getCandidateNumForUseComponent();

	public abstract double getPartialForDelegation();





	public abstract double getThresholdForSatulateRemove();

	public abstract double getThresholdForNormalRemove();


	public abstract AllocateStrategy getStrategyForAllocation();

	public abstract ConstructStrategy getStrategyForOverlayConstruction();

	//public abstract SubstituteStrategy getStrategyForDecideSubstitute();
}
